iT邦幫忙

2025 iThome 鐵人賽

DAY 1
0
生成式 AI

一起來打造 PTT 文章智慧問答系統!系列 第 1

【Day 01】一起來打造 PTT 文章智慧問答系統!

  • 分享至 

  • xImage
  •  

Hi大家好,
這是我參加 iT 邦幫忙鐵人賽的第 1 次挑戰,這次的主題聚焦在結合 Python 爬蟲、RAG(檢索增強生成)與 AI,打造一套 PTT 文章智慧問答系統。在過程中,我會依照每天進度上傳程式碼到 GitHub ,方便大家參考學習。也歡迎留言或來信討論,我的信箱是 gerryearth@gmail.com


在這個資訊爆炸的時代,我們每天接觸到的文章與內容數量龐大,但要從中快速找到自己需要的資訊,卻往往不容易。能不能打造一個智慧系統,幫我們自動蒐集資料、整理內容,並且用自然語言回應問題呢?

本系列文章將帶你 從零開始實作一個「PTT 文章智慧問答系統」。過程中我們會一步步學習並整合爬蟲、資料庫、API 開發、向量檢索 (Pinecone) 與生成式 AI (Gemini),最後再透過 Docker 完成整套部署。

不需要高深的 AI 理論,只要你有 Python 的基礎,就能跟著每天的教學,從 爬文章 → 存資料 → 做檢索 → 自然語言回答,逐步打造屬於自己的智慧問答機器人。


適合對象

  • 具有 Python 的學習基礎
  • 想了解從 0 到 1 實作 RAG 問答系統的開發者
  • 想學 Django + API 開發與部署的工程師
  • 想深入理解爬蟲、語意搜尋、生成式 AI 整合流程的學習者

(暫定)系列文章標題與簡介

天數 主題 簡述
Day 01 一起來打造 PTT 文章智慧問答系統! 說明專案目標、技術堆疊與開發流程
Day 02 環境建置與必要工具安裝(上) 介紹與安裝 PyCharm、Django
Day 03 環境建置與必要工具安裝(下) 介紹與安裝 MariaDB
Day 04 Docker 環境建置(上) 建立可攜式開發與執行環境
Day 05 Docker 環境建置(下) 完整部署到 Docker 的容器
Day 06 探索 PTT 結構與版面資料抓取 擷取文章內容、發文者與時間資訊
Day 07 建立基本爬蟲抓取文章列表與內容 寫出完整爬蟲程式
Day 08 設計 Django Model 並連接資料庫 定義資料結構與模型
Day 09 認識 Celery & Redis 認識、安裝與設定 Celery 與 Redis
Day 10 使用 Celery + Redis 建立非同步排程(上) 實作排程與背景任務執行
Day 11 使用 Celery + Redis 建立非同步排程(下) 實作 Celery Beat
Day 12 監控與除錯 記錄爬蟲執行 Log 並儲存至資料庫
Day 13 Django REST Framework 入門介紹 打造高彈性 RESTful API 的利器
Day 14 實作 Django REST Framework API(上) 建立文章 API:列表、篩選、查詢
Day 15 實作 Django REST Framework API(下) 建立文章 API:單篇內容與統計資料
Day 16 認識 RAG 與 向量資料庫 整合 RAG 與 Pinecone 的運作流程
Day 17 建立向量資料庫基礎 Gemini Embedding 與 Pinecone 初步串接
Day 18 Pinecone 整合實戰 從資料向量化到自動任務串接
Day 19 PTT 文章智慧問答系統 整合 Gemini LLM 回答語意查詢問題
Day 20 封裝語意查詢流程 讓程式碼更乾淨且可維護
Day 21 RAG 的文章切割策略(上) 切割長度應該如何決定
Day 22 RAG 的文章切割策略(下) 決定 PTT 文章切割長度
...
Day 29 系統整合與最終測試 回顧所有功能並測試部署成果
Day 30 回顧與未來展望 總結學習成果,延伸應用方向建議

本系列目標

利用 PTT 網頁文章 作為資料來源,建立一個可定時抓文、儲存、檢索並生成自然語言回答的系統,讓您從實作中了解以下技術與工具如何使用:

  • 爬蟲技術與排程任務(Celery)
  • 資料儲存(MariaDB + Django ORM)
  • API 設計(Django REST Framework)
  • 向量檢索(Pinecone + LangChain)
  • 自然語言生成(Gemini API)
  • 全系統 Docker 容器化部署

專案簡介

本專案整合下列技術模組:

模組 功能
PTT 爬蟲 定時抓取特定看板最新文章
RAG 架構 結合檢索 + 生成提升問答準確率
Celery + Redis 實現爬蟲排程與非同步處理
MariaDB 儲存爬取文章與紀錄任務 log
DRF 提供 REST API 查詢與問答
Pinecone 向量儲存與語意搜尋
Gemini API 以上下文生成自然語言回答
Docker 開發與部署一鍵完成

系統架構圖

系統架構圖


接下來我們會每天實作系統中的一個部份,從開發、測試到部署,歡迎每天跟著我一起打造屬於你自己的智慧問答機器人!

明天 【Day02】環境建置與必要工具安裝,我們將開始實作第一步!


下一篇
【Day 02】環境建置與必要工具安裝 - PyCharm、Django
系列文
一起來打造 PTT 文章智慧問答系統!13
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言